package core.messages;

import java.io.Serializable;


public class StanO implements IStan, Serializable {

	private  final long serialVersionUID = 8152171162670170714L;
	private  boolean wlaczony = false;
	private  boolean nasluchiwanie = false;
	private  boolean polaczenie = false;
	private  boolean glosowanieRozpoczete = false;
	private  boolean konczenieGlosowania = false;
	private  boolean glosowanieZakonczone = false;
	private  boolean daneWyborcze = false;
	private  boolean konfiguracja = false;
	private  String electionName;
	private  int nrwiadomosci = 0;
	
	// TODO: zapisywanie na dysku wszystkich zmian
	
	public StanO(boolean wlaczony, boolean nasluchiwanie, boolean polaczenie,
			boolean glosowanieRozpoczete, boolean konczenieGlosowania,
			boolean glosowanieZakonczone,
			boolean daneWyborcze, int nrwiadomosci, boolean konfiguracja, String electionName) {

		this.wlaczony = wlaczony;
		this.nasluchiwanie = nasluchiwanie;
		this.polaczenie = polaczenie;
		this.glosowanieRozpoczete = glosowanieRozpoczete;
		this.konczenieGlosowania = konczenieGlosowania;
		this.setGlosowanieZakonczone(glosowanieZakonczone);
		this.daneWyborcze = daneWyborcze;
		this.nrwiadomosci = nrwiadomosci;
		this.konfiguracja = konfiguracja;
		this.setElectionName(electionName);
	}
	
	// pobiera numer wiadomosci
	public  synchronized int getNr(){
		nrwiadomosci++;
		return nrwiadomosci;
	}
	
	public  synchronized boolean isWlaczony() {
		return wlaczony;
	}
	
	public  synchronized void setWlaczony(boolean wlaczony) {
		this.wlaczony = wlaczony;
	}
	
	public  boolean isNasluchiwanie() {
		return nasluchiwanie;
	}


	public  void setNasluchiwanie(boolean nasluchiwanie) {
		this.nasluchiwanie = nasluchiwanie;
	}


	public  boolean isPolaczenie() {
		return polaczenie;
	}


	public  synchronized void setPolaczenie(boolean polaczenie) {
		this.polaczenie = polaczenie;
	}


	public  synchronized boolean isGlosowanieRozpoczete() {
		return glosowanieRozpoczete;
	}


	public  synchronized void setGlosowanieRozpoczete(boolean glosowanieRozpoczete) {
		this.glosowanieRozpoczete = glosowanieRozpoczete;
	}


	public  synchronized boolean isKonczenieGlosowania() {
		return konczenieGlosowania;
	}


	public  synchronized void setKonczenieGlosowania(boolean konczenieGlosowania) {
		this.konczenieGlosowania = konczenieGlosowania;
	}

	public boolean isDaneWyborcze() {
		return daneWyborcze;
	}

	public void setDaneWyborcze(boolean daneWyborcze) {
		this.daneWyborcze = daneWyborcze;

	}

	public boolean isKonfiguracja() {
		return konfiguracja;
	}

	public void setKonfiguracja(boolean konfiguracja) {
		this.konfiguracja = konfiguracja;
	}

	public String getElectionName() {
		return electionName;
	}

	public void setElectionName(String electionName) {
		this.electionName = electionName;
	}

	public boolean isGlosowanieZakonczone() {
		return glosowanieZakonczone;
	}

	public void setGlosowanieZakonczone(boolean glosowanieZakonczone) {
		this.glosowanieZakonczone = glosowanieZakonczone;
	}


}
